package com.eduagent.xwqeduagent.service;

import com.eduagent.xwqeduagent.api.GeneralImageEditing.model.CreateImageSynthesisTaskResponse;
import com.eduagent.xwqeduagent.api.PictureDoodlePainting.model.CreateDoodlePaintingTaskResponse;
import com.eduagent.xwqeduagent.api.aliyunTextToImage.model.CreateTextToImageTaskResponse;
import com.eduagent.xwqeduagent.api.aliyunaiImageOutPaining.model.CreateOutPaintingTaskResponse;
import com.eduagent.xwqeduagent.api.aliyunaiReshapingImage.model.CreateImageRestyleTaskResponse;
import com.eduagent.xwqeduagent.model.dto.CreateDoodlePaintingRequest;
import com.eduagent.xwqeduagent.model.dto.CreateGeneralImageEditingRequest;
import com.eduagent.xwqeduagent.model.dto.CreatePictureOutPaintingTaskRequest;
import com.eduagent.xwqeduagent.model.dto.CreatePictureTextToImageTaskRequest;
import com.eduagent.xwqeduagent.model.dto.PortraitStyleRemakeRequest;


/**
 * @author XWQ
 * &#064;description  针对表【picture(图片)】的数据库操作Service
 * &#064;createDate  2025-03-10 20:52:24
 */
public interface PictureService{

    /**
     * ai扩图
     * @param createPictureOutPaintingTaskRequest
     * @return
     */
    CreateOutPaintingTaskResponse createPictureOutPaintingTask(CreatePictureOutPaintingTaskRequest createPictureOutPaintingTaskRequest);

    /**
     * ai文字生成图片
     * @param
     * @return
     */
    CreateTextToImageTaskResponse createTextToImageTask(CreatePictureTextToImageTaskRequest createPictureTextToImageTaskRequest);

    /**
     * ai 人像风格重塑
     * @param
     * @param
     * @return
     */
    CreateImageRestyleTaskResponse createImageRestyleTask(PortraitStyleRemakeRequest portraitStyleRemakeRequest);

    /**
     * ai 通用图像编辑
     * @param createGeneralImageEditingRequest 请求参数
     * @return 任务创建结果
     */
    CreateImageSynthesisTaskResponse createGeneralImageEditing(CreateGeneralImageEditingRequest createGeneralImageEditingRequest);
    
    /**
     * ai 线稿生图
     * @param createDoodlePaintingRequest 请求参数
     * @return 任务创建结果
     */
    CreateDoodlePaintingTaskResponse createDoodlePaintingTask(CreateDoodlePaintingRequest createDoodlePaintingRequest);
}